Alteryx 2020.2新機能 : Assisted Modelingによるステップバイステップでの機械学習
こんにちは、小澤です。
2020/6/3にAlteryxの最新バージョン2020.2がリリースされました。
今回は、Alteryx DesignerのアドオンであるIntelligence Suiteの機能の1つであるAssisted Modelingを紹介します。
Machine LearningカテゴリとAssisted Modeling
Assisted Modelingを使うためのツールはMachine Learningカテゴリにあります。
何やら色々ツールがありますが、最低限必須なのはこれらの機能の起点となるAssisted Modelingツールのみです。 Assisted Modelingツールで設定を行うことで、必要な各種処理の設定がされた他のツールがワークフロー上に自動的に配置される仕組みとなっています。
また、Assisted Modelingツールの設定から自動生成されたものは後から個別に変更可能ですし、 機械学習の知識を持っているよう場合は手動でこられを組み合わせて従来通りワークフローを作成することも可能です。
ただし、これらのツールは機械学習の一連の流れをワークフローで定義するためのものとなっています。 そのため、一部のツールのみを単体で利用することはできませんのでご注意ください。
実際に使ってみる
Assisted Modelingを実際に利用してその流れを確認していきます。
まずは、データを読み込んだのちそれを学習データとテストデータに分割します。 その後、利用しているのはAssisted Modelingツールのみです。
Assisted Modelingツールの設定は以下のようになっています。
「Assisted」が選択されていることを確認して、「Start Assisted Modeling」を選択することで、 別ウインドウが開いて設定が開始します(「Start Assisted Modeling」のボタンが無効化されている場合は一度ワークフローを実行します)。
最初に表示されるのは、Assisted Modelingの各プロセスでどのようなことを行うのかなどの説明が記載された画面です。 こちらは説明の画面となっているため、ここで設定する項目はありません。 また、下部にある「Don't show the tutorial agein.」にチェックを入れると次回以降は表示されなくなります。
左側にある「Start Building」を選択して次の画面に進みます。
最初の設定は目的変数と機械学習でやることの設定です。 目的変数には予測を行いたい対象となるもの、やることは回帰か分類かを選択します。 目的変数を選択した段階で、連続値であれば回帰、文字列であれば分類が自動で選択された状態となります。 離散値であればどちらの可能性もあるので適切な方を選択してください。
右下の「Next」を押すと後から変更できないという確認が表示されます。 設定に間違いがないことを確認して「Continue」を選択しましょう。
続いては説明変数の型を指定します。 実際のデータからAssisted Modeling内部で型を推測してRecommendedとして適切と思われるものがあらかじめ選択された状態となっています。 変更が必要な場合はドロップダウンから選択可能です。
"文字列型でデータ件数とユニークバリューがほぼ一致する"や"欠損値が多すぎる"などの理由でそのまま利用できそうにないものはおそらく対象から外すことになるだろうという警告が出ます。
また、右側ではデータのプレビューなどが確認できるほか、Glossayタブを選択すると各型がどんな形式のデータを意図しているものなのかの説明が確認できます。
このようにAssisted Modelingを利用する際には、移行の設定も含めて用語がよくわからない場合にはGlossaryから確認できるようになっています。
続いての設定では、欠損値がある列に対してどのように扱うかを設定します。 その列を対象から外したり、代表値や固定値などで補完することが可能です。
ただし、あくまでも代表値や固定値といったシンプルな補完のみとなるため、性質を見極めて適切な補完が必要な場合は別途処理をする必要があります。
続いての設定は特徴選択となります。 学習や推論で利用する変数をここで決めます。
上記の図中では出ていませんが、目的変数に対して単体で相関が高すぎたり低すぎたりする変数に関しては警告が表示されます。
最後に学習に利用するアルゴリズムを選択します。 項目は複数選択可能で、学習処理の実行後にそれぞれの性能を比較できるようになっています。
右下の「Run Selected Algorithms」を押すことで学習の処理が実行されて、結果が表示されます。 この画面では、実行したアルゴリズムでの学習結果を比較できるようになっています。
また、上部メニューの「Overview」や「Interpretation」から選択中のアルゴリズムでの評価結果や、説明変数の重要度などが確認可能です。
これらは左側のアルゴリズム一覧から選択されているものを変更することで、それに対応した結果に切り替わります。
最後に、ワークフローで利用するアルゴリズムにチェックを入れて「Add Models and Continue to Workflow」を押すことでワークフローに一連の処理が挿入されます。
ワークフローは、Random ForestとLogistic Regressionを選択したものになります。
この状態で、テストデータをPredictiveツールの「D」側の入力に接続することで、推論結果が出力されます。
このようにPredictツールの「D」入力は通常のAlteryxのワークフロー内のものをそのまま利用可能です。
今回はAssisted Modelingの機能を使ってワークフローの生成を行いましたが、Assisted Modelingツールで「Expert」を選択することでこれらのフローを手動で作成することも可能です。
また、自動・手動にかからず設定値に関しては、従来通りワークフローから変更も可能です。 例えば、作成されたワークフローのRandom Forestであれば以下のようにハイパーパラメータの変更などが可能です。
おわりに
今回は、Alteryx 2020.2からアドオンとして加わったIntelligence Suiteに含まれるAssisted Modelingについて紹介しました。 この仕組みの登場によってより一層、Alteryxを使った機械学習を誰でも簡単に実現しやすくなりました。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。